﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace KC.Framework.Base
{
    /// <summary>
    /// 1、配置业务单据标识，用于配置默认审批流程
    /// 2、发起审批时必须传递此参数
    /// </summary>
    [DataContract]
    public enum ErpBusiFlowConfig
    {
        #region 采购模块业务配置
        [EnumMember]
        [Description("采购订单审批")]
        ScmPurOrderApp,
        [EnumMember]
        [Description("采购订单反结案审批")]
        ScmPurResetCaseApp,
        [EnumMember]
        [Description("采购订单变更审批")]
        ScmPurChangeApp,
        [EnumMember]
        [Description("采购发票审批")]
        ScmPurInvoiceApp,
        [EnumMember]
        [Description("采购收货审批")]
        ScmPurReceiptApp,
        [EnumMember]
        [Description("采购退货审批")]
        ScmPurReturnApp,
        [EnumMember]
        [Description("采购付款申请审批")]
        ScmPurPaymentApp,
        [EnumMember]
        [Description("采购计划审批")]
        ScmPurPlanApp,
        #endregion
        #region 销售模块业务配置
        [Description("销售订单审批")]
        ScmSaleOrderApp,
        [Description("销售订单反结案审批")]
        ScmSoResetCaseApp,
        [Description("销售订单变更审批")]
        ScmSoChangeApp,
        [Description("销售发票审批")]
        ScmSaleInvoiceApp,
        [Description("销售发货审批")]
        ScmSaleShipApp,
        [Description("销售退货审批")]
        ScmSaleReturnApp,
        [Description("销售收款申请审批")]
        ScmSaleReceiveApp,
        #endregion
        #region 仓储模块业务配置
        [EnumMember]
        [Description("采购入库审批")]
        ScmStorePurInApp,
        [EnumMember]
        [Description("销售出库审批")]
        ScmStoreSaleOutApp,
        [EnumMember]
        [Description("生产入库审批")]
        ScmStoreProInApp,
        [EnumMember]
        [Description("生产领料审批")]
        ScmStoreProPickApp,
        [EnumMember]
        [Description("盘盈入库审批")]
        ScmStoreInventoryInApp,
        [EnumMember]
        [Description("盘亏损毁审批")]
        ScmStoreInventoryOutApp,
        [Description("委外入库审批")]
        ScmStoreOutsideInApp,
        [EnumMember]
        [Description("委外领料审批")]
        ScmStoreOutsidePickApp,
        [EnumMember]
        [Description("其他入库审批")]
        ScmStoreOtherInApp,
        [EnumMember]
        [Description("其他出库审批")]
        ScmStoreOtherOutApp,
        [EnumMember]
        [Description("库存调拨审批")]
        ScmStoreAlloltApp,
        #endregion
        #region 财务模块业务配置
        [EnumMember]
        [Description("付款单审批")]
        FmsPaymentApp,
        [EnumMember]
        [Description("付款单反审批")]
        FmsPaymentResetApp,
        [EnumMember]
        [Description("付款单审批（无业务单据）")]
        FmsOtherPaymentApp,
        [EnumMember]
        [Description("付款单反审批（无业务单据）")]
        FmsOtherPaymentResetApp,
        [EnumMember]
        [Description("收款单审批")]
        FmsReceiveApp,
        [EnumMember]
        [Description("收款单反审批")]
        FmsReceiveResetApp,
        [EnumMember]
        [Description("收款单审批（无业务单据）")]
        FmsOtherReceiveApp,
        [EnumMember]
        [Description("收款单反审批（无业务单据）")]
        FmsOtherReceiveResetApp,
        [EnumMember]
        [Description("费用报销审批")]
        FmsFeeApp,
        [EnumMember]
        [Description("凭证审批")]
        FmsVoucherApp,
        [EnumMember]
        [Description("凭证反审批")]
        FmsVoucherResetApp,
        [EnumMember]
        [Description("固定资产审批")]
        FmsFixedAssetApp,
        #endregion
    }
}
